CMAKE_MINIMUM_REQUIRED(VERSION 3.18)
PROJECT(UT2004)

include("../configure.cmake")

SET(
    WINDRV_SRC

    Inc/UnDebuggerCore.h
    Inc/UnDebuggerInterface.h
    Inc/UnDelphiInterface.h
    Inc/WinDivX.h
    Inc/WinDrv.h
    Inc/WinSpeech.h

    Src/UnDebuggerCore.cpp
    Src/UnDelphiInterface.cpp
    Src/WinClient.cpp
    Src/WinDivX.cpp
    Src/WinDrv.cpp
    Src/WinSpeech.cpp
    Src/WinViewport.cpp

    Src/Res/afxres.h
    Src/Res/WinDrvRes.h
    Src/Res/WinDrvRes.rc
)

if (WIN32)
    add_library(WinDrv ${WINDRV_SRC})
    set_target_properties(WinDrv PROPERTIES
        FOLDER WinDrv
    )

    target_compile_definitions(WinDrv PRIVATE DIRECTINPUT_VERSION=0x0800)
    target_link_libraries(WinDrv CoreLib EngineLib Window)
    unreal_package_configure(WinDrv WinDrv)

    target_include_directories(WinDrv PRIVATE $ENV{DXSDK_DIR}/Include)
    if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "4")
        target_link_directories(WinDrv PRIVATE $ENV{DXSDK_DIR}/Lib/x86)
    else()
        target_link_directories(WinDrv PRIVATE $ENV{DXSDK_DIR}/Lib/x64)
    endif()

    target_link_libraries(WinDrv dxguid.lib DxErr.lib dinput8.lib winmm.lib imm32.lib legacy_stdio_definitions.lib)
endif()
